#include "ArvoreSintatica.h"
#include "lexico.h"
#include "definicoes.h"
#include "Tokem.h"

int main(int argc, char* argv[]) {

	if (argc <= 1) {
		printf("Erro: Especifique uma entrada.\n");
		//system("PAUSE");
		return 1;
	}

	FILE *entrada;

	if ((entrada = fopen(argv[1], "r")) == NULL) {
		printf("Erro: Arquivo %s nao pode ser aberto.\n", argv[1]);
		//system("PAUSE");
		return 2;
	}

	//fila de tokens
	std::queue<Tokem> *tokens;

	//analise lexica
	if (analiseLexica(entrada, tokens) == ERRO)
	{
        printf("Erro: Analise mal sucedida.\n");
        //system("PAUSE");
        //return 1;
    }
	
	new ArvoreSintatica(tokens);
	return 0;
}
